﻿using System;
using System.Collections.Generic;

namespace SharpSqlAnalyzer.nodes.mdx
{
	// Token: 0x020003F7 RID: 1015
	public class TMdxWithNode : TParseTreeNode
	{
		// Token: 0x1700090A RID: 2314
		// (get) Token: 0x060027FD RID: 10237 RVA: 0x0033C224 File Offset: 0x0033A424
		public virtual List<TMdxCalcPropNode> CalcProps
		{
			get
			{
				return this.calcProps;
			}
		}

		// Token: 0x1700090B RID: 2315
		// (get) Token: 0x060027FE RID: 10238 RVA: 0x0033C22C File Offset: 0x0033A42C
		public virtual TMdxExpNode ExprNode
		{
			get
			{
				return this.exprNode;
			}
		}

		// Token: 0x1700090C RID: 2316
		// (get) Token: 0x060027FF RID: 10239 RVA: 0x0033C234 File Offset: 0x0033A434
		public virtual TMdxIdentifierNode NameNode
		{
			get
			{
				return this.nameNode;
			}
		}

		// Token: 0x06002800 RID: 10240 RVA: 0x0033C23C File Offset: 0x0033A43C
		public override void init(object arg1, object arg2, object arg3)
		{
			this.nameNode = (TMdxIdentifierNode)arg1;
			this.exprNode = (TMdxExpNode)arg2;
			this.calcProps = (List<TMdxCalcPropNode>)arg3;
		}

		// Token: 0x06002801 RID: 10241 RVA: 0x0033C262 File Offset: 0x0033A462
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06002802 RID: 10242 RVA: 0x0033C274 File Offset: 0x0033A474
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			this.exprNode.accept(v);
			if (this.calcProps != null)
			{
				foreach (TMdxCalcPropNode tmdxCalcPropNode in this.calcProps)
				{
					tmdxCalcPropNode.acceptChildren(v);
				}
			}
			v.postVisit(this);
		}

		// Token: 0x04001DEF RID: 7663
		private TMdxIdentifierNode nameNode;

		// Token: 0x04001DF0 RID: 7664
		private TMdxExpNode exprNode;

		// Token: 0x04001DF1 RID: 7665
		private List<TMdxCalcPropNode> calcProps;
	}
}
